import pandas as pd


def find_common_resource_ids(file1_path, file2_path):
    try:
        # 1. 读取两个 Excel 文件的 resource_id 列，并指定为字符串类型
        df1 = pd.read_excel(file1_path,  dtype={'resource_id': str})
        df2 = pd.read_excel(file2_path,  dtype={'resource_id': str})

        # 2. 清理数据：去除空格，移除空值
        df1['resource_id'] = df1['resource_id'].str.strip().replace('nan', pd.NA).dropna()
        df2['resource_id'] = df2['resource_id'].str.strip().replace('nan', pd.NA).dropna()

        # 3. 找出两个 resource_id 列的交集
        common_ids = pd.Series(list(set(df1['resource_id']).intersection(set(df2['resource_id']))))

        # 4. 打印结果
        if common_ids.empty:
            print("两个 Excel 文件的 resource_id 列没有相同的元素")
        else:
            print("两个 Excel 文件的 resource_id 列的相同元素列表：")
            for id in common_ids:
                print(id)

        return common_ids.tolist()

    except Exception as e:
        print(f"Error: {str(e)}")
        return []


# 使用示例
file1_path = 'D:\\project_file\\20250918课程包标签处理\\同步新授课.xlsx' # 第一个 Excel 文件路径
file2_path = 'D:\\project_file\\20250918课程包标签处理\\复习课.xlsx'  # 第二个 Excel 文件路径

common_ids = find_common_resource_ids(file1_path, file2_path)